Calcular índices de concavidad y perfiles longitudinales de cursos fluviales

Imprimir lista de mapas ráster y vectoriales dentro en la región/localización activa

execGRASS(
  'g.list',
  flags = 't',
  parameters = list(
    type = c('raster', 'vector')
  )
)
## raster/LfpNetwork-flds-Oz
## raster/LfpNetwork-outlet-Oz
## raster/MASK
## raster/accum-de-rwshed
## raster/aspect
## raster/basins
## raster/dem
## raster/drainage-dir-de-rstr
## raster/drainage-dir-de-rwshed
## raster/half-basins
## raster/order-hack-gravelius
## raster/order-horton
## raster/order-shreve
## raster/order-strahler
## raster/order-topology
## raster/ozama-basin
## raster/ozama-stream-de-rstr
## raster/pcurv
## raster/r-stream-basins-1
## raster/r-stream-basins-2
## raster/r-stream-basins-3
## raster/r-stream-basins-4
## raster/r-stream-basins-5
## raster/r-stream-basins-6
## raster/r-stream-basins-7
## raster/slope
## raster/stream-de-rwshed
## raster/tcurv
## vector/LfpNetwork_lfp_all_final_ozm
## vector/LfpNetwork_lfp_all_final_ozm1
## vector/LfpNetwork_lfp_all_final_ozm3
## vector/LfpNetwork_lfp_all_final_ozm5
## vector/LfpNetwork_lfp_ozm
## vector/LfpNetwork_lfp_ozm1
## vector/LfpNetwork_lfp_ozm3
## vector/LfpNetwork_lfp_ozm5
## vector/LfpNetwork_outlet_Oz
## vector/LfpNetwork_tributaries_ozm
## vector/LfpNetwork_tributaries_ozm1
## vector/LfpNetwork_tributaries_ozm3
## vector/LfpNetwork_tributaries_ozm5
## vector/LfpNetwork_tributaries_preconf_ozm
## vector/LfpNetwork_tributaries_preconf_ozm1
## vector/LfpNetwork_tributaries_preconf_ozm3
## vector/LfpNetwork_tributaries_preconf_ozm5
## vector/c_ozama
## vector/dem_extent
## vector/order_all
## vector/ozama_basin
## vector/ozama_stream_de_rstr
## vector/r_stream_basins_1
## vector/r_stream_basins_2
## vector/r_stream_basins_3
## vector/r_stream_basins_4
## vector/r_stream_basins_5
## vector/r_stream_basins_6
## vector/r_stream_basins_7

Obtener coordenada

mapview(order, col.regions = 'blue', legend = FALSE)

Obtener cursos más largos (cargar función propia)

devtools::source_url('https://raw.githubusercontent.com/geofis/rgrass/master/lfp_network.R') #Cargada como función "LfpNetwork"
LfpNetwork(
  xycoords = my_trans(c(-69.82221,18.66188)),
  suffix = 'ozm4',
  stream_vect = 'order_all',
  direction = 'drainage-dir-de-rstr'
)

Imprimir lista de mapas ráster y vectoriales

execGRASS(
  'g.list',
  flags = 't',
  parameters = list(
    type = c('raster', 'vector')
  )
)
## raster/LfpNetwork-flds-Oz
## raster/LfpNetwork-outlet-Oz
## raster/MASK
## raster/accum-de-rwshed
## raster/aspect
## raster/basins
## raster/dem
## raster/drainage-dir-de-rstr
## raster/drainage-dir-de-rwshed
## raster/half-basins
## raster/order-hack-gravelius
## raster/order-horton
## raster/order-shreve
## raster/order-strahler
## raster/order-topology
## raster/ozama-basin
## raster/ozama-stream-de-rstr
## raster/pcurv
## raster/r-stream-basins-1
## raster/r-stream-basins-2
## raster/r-stream-basins-3
## raster/r-stream-basins-4
## raster/r-stream-basins-5
## raster/r-stream-basins-6
## raster/r-stream-basins-7
## raster/slope
## raster/stream-de-rwshed
## raster/tcurv
## vector/LfpNetwork_lfp_all_final_ozm
## vector/LfpNetwork_lfp_all_final_ozm1
## vector/LfpNetwork_lfp_all_final_ozm3
## vector/LfpNetwork_lfp_all_final_ozm4
## vector/LfpNetwork_lfp_all_final_ozm5
## vector/LfpNetwork_lfp_ozm
## vector/LfpNetwork_lfp_ozm1
## vector/LfpNetwork_lfp_ozm3
## vector/LfpNetwork_lfp_ozm4
## vector/LfpNetwork_lfp_ozm5
## vector/LfpNetwork_outlet_Oz
## vector/LfpNetwork_tributaries_ozm
## vector/LfpNetwork_tributaries_ozm1
## vector/LfpNetwork_tributaries_ozm3
## vector/LfpNetwork_tributaries_ozm4
## vector/LfpNetwork_tributaries_ozm5
## vector/LfpNetwork_tributaries_preconf_ozm
## vector/LfpNetwork_tributaries_preconf_ozm1
## vector/LfpNetwork_tributaries_preconf_ozm3
## vector/LfpNetwork_tributaries_preconf_ozm4
## vector/LfpNetwork_tributaries_preconf_ozm5
## vector/c_ozama
## vector/dem_extent
## vector/order_all
## vector/ozama_basin
## vector/ozama_stream_de_rstr
## vector/r_stream_basins_1
## vector/r_stream_basins_2
## vector/r_stream_basins_3
## vector/r_stream_basins_4
## vector/r_stream_basins_5
## vector/r_stream_basins_6
## vector/r_stream_basins_7

Representar con leaflet

lfp <- readVECT('LfpNetwork_lfp_all_final_ozm4')
lfp4326 <- spTransform(lfp, CRSobj = CRS("+init=epsg:4326"))
lfp_con_id <- leaflet() %>%
  addProviderTiles(providers$Stamen.Terrain, group = 'terrain') %>%
  addPolylines(
    data = lfp4326, weight = 3, opacity = 0.7, group = 'order',
    label = ~as.character(cat),
    highlightOptions = highlightOptions(color = "white",
                                      weight = 5, bringToFront = F, opacity = 1),
    labelOptions = labelOptions(noHide = T,
                                style = list(
                                  "font-size" = "8px",
                                  "background" = "rgba(255, 255, 255, 0.5)",
                                  "background-clip" = "padding-box",
                                  "padding" = "1px"))) %>% 
  leafem::addHomeButton(extent(lfp4326), 'Ver todo')
lfp_con_id
lfp_con_id %>% mapview::mapshot(file = 'lfp_con_id_salida.png')

Exportar a KML

execGRASS(
  'v.out.ogr',
  flags = c('overwrite','quiet'),
  parameters = list(
    input = 'LfpNetwork_lfp_all_final_ozm4',
    output = 'lfp_ozm_kml.kml4',
    format = 'KML',
    dsco = 'NameField=cat'
  )
)

Obtención de perfiles longitudinales e índices de concavidad

source('lfp_profiles_concavity.R') #Cargado como función "LfpProfilesConcavity"
ozama_conv_prof <- LfpProfilesConcavity(
  xycoords = my_trans(c(-69.82221,18.66188)),
  network = 'LfpNetwork_lfp_all_final_ozm4',
  prefix = 'Oz',
  dem = 'dem',
  direction = 'drainage-dir-de-rstr',
  crs = '+init=epsg:32619',
  smns = 0.5,
  nrow = 5)

Mostrar resultados

ozama_conv_prof$profiles

ozama_conv_prof$concavityindex
##    stream          ci
## 1    Oz-1  0.61091243
## 2    Oz-2  0.38078191
## 3    Oz-3 -0.18905059
## 4    Oz-4  0.61931747
## 5    Oz-5  0.73702458
## 6    Oz-6  0.70025010
## 7    Oz-7 -0.02866666
## 8    Oz-8  0.65927124
## 9    Oz-9 -0.11719897
## 10  Oz-10 -0.09006582
## 11  Oz-11 -0.02012649
## 12  Oz-12  0.20537382
## 13  Oz-13  0.34755510
## 14  Oz-14  0.12827682
## 15  Oz-15 -0.11338705
## 16  Oz-16  0.25506929
## 17  Oz-17  0.25574934
## 18  Oz-18  0.26137733
## 19  Oz-19  0.11051545
## 20  Oz-20  0.43928929
## 21  Oz-21  0.51825512
## 22  Oz-22  0.50765851
## 23  Oz-23  0.25273549
## 24  Oz-24  0.06306780
## 25  Oz-25  0.32966239
## 26  Oz-26  0.26473862
## 27  Oz-27  0.38176546
## 28  Oz-28  0.33774082
## 29  Oz-29  0.15607106
## 30  Oz-30  0.16916423
## 31  Oz-31  0.03851725
## 32  Oz-32  0.13469509
## 33  Oz-33  0.36951299
## 34  Oz-34  0.48283072
## 35  Oz-35  0.40688199
## 36  Oz-36  0.31326494
## 37  Oz-37 -0.01341228
## 38  Oz-38  0.29657884
## 39  Oz-39  0.24251356
## 40  Oz-40  0.43797187
## 41  Oz-41  0.38196512
## 42  Oz-42  0.46451537
## 43  Oz-43  0.47574976
## 44  Oz-44  0.27517844
## 45  Oz-45  0.61548528
ozama_conv_prof$dimensionlessprofiles$layers[[2]]$aes_params$size <- 2
ozama_conv_prof$dimensionlessprofiles$theme$text$size <- 12
ozama_conv_prof$dimensionlessprofiles

Tabla dx/dy, tanto en metros como adimensional. Útiles para construir perfiles por cuenta propia

ozama_conv_prof$lengthzdata %>% tibble::as.tibble()
## Warning: `as.tibble()` is deprecated, use `as_tibble()` (but mind the new semantics).
## This warning is displayed once per session.
## # A tibble: 3,757 x 4
##    stream length     z rowname
##    <fct>   <dbl> <dbl>   <int>
##  1 Oz-1      0    11.0       1
##  2 Oz-1     89.1  11.1       2
##  3 Oz-1    178.   11.2       3
##  4 Oz-1    267.   11.2       4
##  5 Oz-1    357.   11.3       5
##  6 Oz-1    393.   11.3       6
##  7 Oz-1    483.   11.3       7
##  8 Oz-1    572.   11.4       8
##  9 Oz-1    609.   11.4       9
## 10 Oz-1    698.   11.4      10
## # … with 3,747 more rows
ozama_conv_prof$lengthzdatadmnls %>% tibble::as.tibble()
## # A tibble: 3,757 x 6
##    stream length     z rowname length.dmnls  z.dmnls
##    <fct>   <dbl> <dbl>   <int>        <dbl>    <dbl>
##  1 Oz-1      0    11.0       1      0       0       
##  2 Oz-1     89.1  11.1       2      0.00140 0.000182
##  3 Oz-1    178.   11.2       3      0.00281 0.000363
##  4 Oz-1    267.   11.2       4      0.00421 0.000543
##  5 Oz-1    357.   11.3       5      0.00562 0.000721
##  6 Oz-1    393.   11.3       6      0.00620 0.000794
##  7 Oz-1    483.   11.3       7      0.00761 0.000969
##  8 Oz-1    572.   11.4       8      0.00901 0.00114 
##  9 Oz-1    609.   11.4       9      0.00959 0.00121 
## 10 Oz-1    698.   11.4      10      0.0110  0.00138 
## # … with 3,747 more rows

Limpiar archivo de bloqueo del conjunto de mapas de GRASS

unlink_.gislock()